Particular embodiments generally relate to management and analysis of datasets.
Online analytical processing (OLAP) applications are used to provide answers to analytical queries that are multi-dimensional in nature. Because multi-dimensional data may organize data in more than two dimensions, a multi-dimensional data model is used to store the data in a database. A cube has been developed as a model to store multi-dimensional objects where the cube is stored as multiple blocks of data.
Multiple changes to the stored data may occur. When a change is made, a log entry is generated for the change and appended to an end of a change list. The change list summarizes all the changes that have been made, but have not been applied to the dataset. When a block is retrieved, the database system checks if any pending changes should be applied. All the change entries in the change log are then applied one-by-one and in order. However, changes to a measure in one block may also affect changes for other measures. Thus, each change to a measure may result in multiple other derived changes. Many user changes may be made to a block over time, such as a user may be trying out many different values for a measure in a block. This may result in an explosion of changes that need to be applied because of the derived entries that need to be calculated for each change.